<?php
class paist extends Controller 
{
	function __construct()
	{
		parent::Controller();
		$this->load->database();
		$this->load->model('paises');
	}
	
	function index()
	{
		$this->load->view('main', array('content_page' => 'pais_list','menutop' => 0));
	}
	
	function add()
	{
		$this->load->view('main', array('content_page' => 'pais_add','menutop' => 0));
	}
	
	function edit($idpais) 
	{
			$pais=$this->paises->LoadPaisById($idpais);
			$this->load->view('main', array('content_page' => 'pais_edit','menutop' => 0, 'pais' => $pais));
	}
	
	function data() 
	{
		$page = $this->input->post('page') ? $this->input->post('page') : 1; // Pagina Actual o 1 por default
		$sortname = 'IdPais';
		$sortorder = 'asc'; // Orden (asc|desc)
		$limit = $this->input->post('rows') ? $this->input->post('rows') : 10;
		$start = $limit * $page - $limit;
		if($start < 0) $start = 0;

		header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
		header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
		header("Cache-Control: no-cache, must-revalidate" );
		header("Pragma: no-cache" );

		$records = $this->paises->LoadPaises($this->input->post('name'), $start, $limit, $sortname, $sortorder);

		$totalRecords = $this->paises->GetCount($this->input->post('name'));

		$totalPages = ceil($totalRecords/$limit);
		if ($page > $totalPages) $page = $totalPages;

		$json_output = array(
		'page'		=> $page,
		'total'		=> $totalPages,
		'records'	=> $totalRecords,
		'rows'		=> array()
		);

		if($records != false) 
		{
			foreach($records as $pais) {
				$arr = $json_output['rows'][] = array(
				'IdPais' => $pais->GetIdPais(),
				'NombrePais' => $pais->GetNombre());
			}
		}

		echo json_encode($json_output);
	}
	
	function process_status() 
	{
			$this->load->view('main', array('content_page' => 'status'));
	}
	
	function save()
	{
		
		$this->form_validation->set_rules('name', '"Nombre"', 'trim|required');
		

		if ($this->form_validation->run()) 
		{
			$this->session->set_flashdata('status_title', 'Mantenimiento de Paises');
			$this->session->set_flashdata('status_url', 'paist');

			if($this->input->post('IdPais') === false) 
			{
				if($this->paises->CreatePais($this->input->post('name')) != false)
				$this->session->set_flashdata('status_message', 'El pais ha sido agregado satisfactoriamente');
				else {
					$this->session->set_flashdata('status_message', 'Ha ocurrido un error agregando el pais. Intentelo nuevamente mas tarde o comuniquese con el administrador');
				}
			} 
			else 
			{
				$pais = $this->paises->LoadPaisById($this->input->post('IdPais'));
				if($pais != false) {
					$pais->SetNombre($this->input->post('name'));
					

					if($this->paises->UpdatePais($pais) != false)
					{
					$this->session->set_flashdata('status_message', 'El pais ha sido actualizado satisfactoriamente');
					}
					else 
					{
						$this->session->set_flashdata('status_message', 'El pais ha sido actualizado satisfactoriamente');
					}
				} else 
				{
					$this->session->set_flashdata('status_message', 'Ha ocurrido un error actualizando el pais. Intentelo nuevamente mas tarde o comuniquese con el administrador');
				}
			}
			redirect('paist/process_status');
		} 
	
		$view = 'pais_add';
		$pais = false;

		if($this->input->post('IdPais') !== false) {
			$view = 'pais_edit';
			$pais = $this->Paises->LoadPaisById($this->input->post('IdEtapa'));
		}

		$this->load->view('main', array('content_page' => $view,'menutop' => 0, 'pais' => $pais));
	}

	
}